package com.mephi.oshs.view.api;

import com.mephi.oshs.model.entry.IEntry;
import com.mephi.oshs.view.elements.IClickable;
import com.mephi.oshs.view.elements.IOshsTreeWidget;
import com.mephi.oshs.view.elements.ITextable;

/**
 * Данное представление отвечает за отображение дерева ОШС.
 */
public interface IOshsView extends IView {

    /**
     * Уникальный идентификатор.
     */
    public static final ViewId ID = ViewId.OSHS_VIEW;

    /**
     * Получить элемент инициализирующий быстрый поиск по дереву ОШС.
     *
     * @return Активатор быстрого поиска.
     */
    public IClickable getQuickSearchAction();

    /**
     * Получить элемент содержащий поисковой запрос пользователя.
     *
     * @return Текстовое поле.
     */
    public ITextable getQuickSearchText();

    /**
     * Получить элемент отвечающий за отображение дерева ОШС.
     *
     * @return Элемент отображающий дерево ОШС.
     */
    public IOshsTreeWidget<IEntry> getOshsTreeWidget();
}
